برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
در قسمت قبل، حالتهای مختلف رندر کامپوننتها را در Blazor 8x معرفی کردیم. در این قسمت میخواهیم نحوهی کارکرد دو حالت InteractiveServer و StreamRendering را به همراه چند مثال بررسی کنیم.
معرفی قالبهای جدید شروع پروژههای Blazor در دات نت 8 پس از نصب SDK دات نت 8، دیگر خبری از قالبهای قدیمی پروژههای blazor server و blazor wasm نیست! در اینجا در ابتدا باید مشخص کرد که سطح تعاملی برنامه در چه حدی است. در ادامه 4 روش شروع پروژههای Blazor 8x را مشاهده میکنید که توسط پرچم interactivity--، نوع رندر برنامه در آنها مشخص شدهاست:
اجرای قسمتهای تعاملی برنامه بر روی سرور: dotnet new blazor --interactivity Server
اجرای قسمتهای تعاملی برنامه در مرورگر، توسط فناوری وباسمبلی: dotnet new blazor --interactivity WebAssembly
برای اجرای قسمتهای تعاملی برنامه، ابتدا حالت Server فعالسازی میشود تا فایلهای WebAssembly دریافت شوند، سپس فقط از WebAssembly استفاده میکند: dotnet new blazor --interactivity Auto
فقط از حالت SSR یا همان static server rendering استفاده میشود (این نوع برنامهها تعاملی نیستند): dotnet new blazor --interactivity None
سایر گزینهها را با اجرای دستور dotnet new blazor --help میتوانید مشاهده کنید.
نکتهی مهم! در قالبهای آمادهی Blazor 8x، حالت SSR، پیشفرض است.
هرچند در تمام پروژههای فوق، انتخاب حالتهای مختلف رندر را مشاهده میکنید، اما این انتخابها صرفا دو مقصود مهم را دنبال میکنند:
الف) تنظیم فایل Program.cs برنامه جهت افزودن وابستگیهای مورد نیاز، به صورت خودکار.
ب) ایجاد پروژهی کلاینت (علاوه بر پروژهی
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
در قسمت قبل، با نحوهی رندر سمت سرور و روش فعالسازی قابلیتهای تعاملی در این حالت، آشنا شدیم. از این نکات میتوان جهت ارتقاء ساختار پروژههای قدیمی Blazor Server به Blazor Server 8x استفاده کرد. البته همانطور که پیشتر نیز عنوان شد، در دات نت 8 دیگر خبری از قالبهای قدیمی پروژههای blazor server و blazor wasm نیست و اگر دقیقا همین موارد مدنظر هستند، آنها را میتوان با تنظیم سطح رندر و میزان تعاملی که مدنظر است، شبیه سازی کرد و یا حتی هر دو را هم با هم در یک پروژه داشت.
1) بهروز رسانی شماره نگارش داتنت
اولین قدم در جهت ارتقاء پروژههای قدیمی، تغییر شماره نگارش TargetFramework موجود در فایل csproj. به net8.0 است. پس از اینکار نیاز است تمام بستههای نیوگت موجود را نیز به نگارشهای جدیدتر آنها ارتقاء دهید.
2) فعالسازی حالت SSR تعاملی سمت سرور
پایهی تمام تغییرات انجام شدهی در Blazor 8x، قابلیت SSR است و تمام امکانات دیگر برفراز آن اجرا میشوند. به همین جهت پس از ارتقاء شماره نگارش داتنت، نیاز است SSR را فعال کنیم و برای اینکار باید به هاست ASP.NET Core بگوئیم که درخواستهای رسیده را به کامپوننتهای Razor هدایت کند. بنابراین، به فایل Program.cs مراجعه کرده و دو تغییر زیر را به آن اعمال کنید: // ...
builder.Services.AddRazorComponents().AddInteractiveServerComponents();
// ...
app.MapRazorComponents<App>().AddInteractiveServerRenderMode();
یک نمونهی کامل از فایل Program.cs را در قسمت قبل مشاهده کردید و یا حتی میتوانید دستور dotnet new blazor --interactivity Server را جهت ساخت یک پروژهی آزمایشی جدید بر اساس SDK دات نت 8 و ایده گیری از
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
در Blazor 8x میتوان صفحات SSR ای را به همراه Blazor server islands و یا Blazor WASM islands داشت؛ یعنی یک کامپوننت Blazor Server که داخل یک صفحهی معمولی SSR قرار گرفته و با سرور، ارتباط SiganlR برقرار میکند و یا یک کامپوننت Blazor WASM که در قسمتی از صفحهی SSR درج شده و درون مرورگر کاربر اجرا میشود. به هر کدام از اینها یک «جزیرهی تعاملی» گفته میشود (interactive island). در این قسمت، نکات مرتبط با جزایر تعاملی Blazor Server را بررسی میکنیم. بررسی یک مثال: تهیه یک برنامهی Blazor 8x برای نمایش لیست محصولات، به همراه جزئیات آنها
به لطف وجود SSR در Blazor 8x، میتوان HTML نهایی کامپوننتها و صفحات Blazor را همانند صفحات MVC و یا Razor pages، در سمت سرور تهیه و بازگشت داد. این خروجی در نهایت یک static HTML بیشتر نیست و گاهی از اوقات ما به بیش از یک خروجی ساده HTML ای نیاز داریم.
در این مثال که بر اساس قالب dotnet new blazor --interactivity Server تهیه میشود، قصد داریم موارد زیر را پیاده سازی کنیم:
- صفحهای که یک لیست محصولات فرضی را نمایش میدهد : بر اساس SSR
- صفحهای که جزئیات یک محصول را نمایش میدهد: بر اساس SSR
- دکمهای در ذیل قسمت نمایش جزئیات یک محصول، برای دریافت و نمایش لیست محصولات مشابه و مرتبط: بر اساس Blazor server islands
یعنی تا جائیکه ممکن است قصد نداریم تمام صفحات و تمام قسمتهای برنامه را با فعالسازی سراسری حالت تعاملی Blazor server که در قسمتهای قبل در مورد آن توضیح داده شد، پیاده سازی کنیم. میخواهیم فقط قسمت کوچکی از این سناریو را که واقعا نیاز به یک چنین قابلیتی را دارد، توسط یک جزیرهی تعاملی Blazor s
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
در قسمت قبل، در حین بررسی رفتار جزیرههای تعاملی Blazor Server، نکتهی زیر را هم دربارهی راهبری صفحات SSR مرور کردیم:
« اگر دقت کنید، جابجایی بین صفحات، با استفاده از fetch انجام شده؛ یعنی با اینکه این صفحات در اصل static HTML خالص هستند، اما ... کار full reload صفحه مانند ASP.NET Web forms قدیمی انجام نمیشود (و یا حتی برنامههای MVC و Razor pages) و نمایش صفحات، Ajax ای است و با fetch استاندارد آن صورت میگیرد تا هنوز هم حس و حال SPA بودن برنامه حفظ شود. همچنین اطلاعات DOM کل صفحه را هم بهروز رسانی نمیکند؛ فقط موارد تغییر یافته در اینجا به روز رسانی خواهند شد.»
در این قسمت، نکات تکمیلی این قابلیت را که به آن enhanced navigation هم گفته میشود، بررسی میکنیم.
روش غیرفعال کردن راهبری بهبودیافته برای بعضی از لینکها
ویژگی راهبری بهبودیافته فقط در حین هدایت بین صفحات مختلف یک برنامهی Blazor 8x SSR، فعال است. اگر در این بین، کاربری به یک صفحهی غیر بلیزری هدایت شود، راهبری بهبود یافته شکست خورده و سعی میکند حالت full document load را پیاده سازی و اجرا کند. مشکل اینجاست که در این حالت دو درخواست ارسال میشود: ابتدا حالت راهبری بهبودیافته فعال میشود و در ادامه پس از شکست این راهبری، هدایت مستقیم صورت میگیرد. برای رفع این مشکل میتوان ویژگی جدید data-enhance-nav را با مقدار false، به لینکهای خارجی مدنظر اضافه کرد تا برای این حالتها دیگر ویژگی راهبری بهبودیافته فعال نشود: <a href="/not-blazor" data-enhance-nav="false">A non-Blazor page</a> فعالسازی مدیریت بهبودیافتهی فرمهای SSR
در قسمت چهارم این سری با فرمهای جدید SSR مخصو
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
در قسمتهای قبل، نحوهی تعریف جزیرههای تعاملی Blazor Server را به همراه نکات مرتبط با آنها بررسی کردیم. برای مثال مشاهده کردیم که چون Blazor Server و SSR هر دو بر روی سرور اجرا میشوند، از لحاظ دسترسی به اطلاعات و کار با سرویسها، هماهنگی کاملی دارند و میتوان کدهای یکسان و یکدستی را در اینجا بکار گرفت. در Blazor 8x، امکان تعریف جزیرههای تعاملی Blazor WASM نیز وجود دارد که به همراه تعدادی نکتهی ویژه، در مورد نحوهی مدیریت سرویسهای مورد استفادهی در این کامپوننتها است.
معرفی برنامهی Blazor WASM این مطلب
در این مطلب قصد داریم دقیقا قسمت جزیرهی تعاملی Blazor Server همان برنامهی مطلب قبل را توسط یک جزیرهی تعاملی Blazor WASM بازنویسی کنیم و با نکات و تفاوتهای ویژهی آن آشنا شویم. یعنی زمانیکه صفحهی SSR نمایش جزئیات یک محصول ظاهر میشود، نحوهی رندر و پردازش کامپوننت نمایش محصولات مرتبط و مشابه، اینبار یک جزیرهی تعاملی Blazor WASM باشد. بنابراین قسمت عمدهای از کدهای این دو قسمت یکی است؛ فقط نحوهی دسترسی به سرویسها و محل قرارگیری تعدادی از فایلها، متفاوت خواهد بود.
ایجاد یک پروژهی جدید Blazor WASM تعاملی در دات نت 8
بنابراین در ادامه، در ابتدای کار نیاز است یک پوشهی جدید را برای این پروژه، ایجاد کرده و بجای انتخاب interactivity از نوع Server: dotnet new blazor --interactivity Server
اینبار برای اجرای در مرورگر توسط فناوری وباسمبلی، نوع WebAssembly را انتخاب کنیم: dotnet new blazor --interactivity WebAssembly
در این حالت، Solution ای که ایجاد میشود، به همراه دو پروژهاست (برخلاف پروژههای Blazor Server تعاملی که فقط شامل یک پروژهی سمت
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
Auto Render Mode، آخرین حالت رندری است که به Blazor 8x اضافه شدهاست. اگر از Blazor Server استفاده کنیم، به یک آغاز سریع در برنامه خواهیم رسید، به همراه مقداری تاخیر جزئی، برای به روز رسانی UI؛ از این جهت که تعاملات صورت گرفته باید از طریق اتصال وبسوکت SignalR به سرور ارسال شده و منتظر نتیجهی نهایی، برای اعمال آن به صفحه شد و یا باید به مقیاس پذیری این اتصالات همزمان با تعداد کاربران بالا هم اندیشید. اگر از Blazor WASM استفاده کنیم، آغاز آن، اندکی کند خواهد بود تا فایلهای فریمورک و برنامه، به درون مرورگر کاربر منتقل شوند. اما پس از آن همهچیز بسیار سریع است؛ از این جهت که تعاملات با DOM، توسط مرورگر و در همان سمت کاربر مدیریت میشود.
اما ... چقدر خوب میشد که امکان ترکیب هردوی اینها با هم در یک برنامه وجود میداشت؛ یعنی داشتن یک آغاز سریع، به همراه تعاملات سریع با DOM. به همین جهت Auto Render Mode به Blazor 8x اضافه شدهاست.
نحوهی عملکرد حالت رندر تعاملی خودکار در Blazor 8x
زمانیکه از قرار است از Auto Render Mode استفاده شود، یعنی در نهایت به سراغ حالت رندر وباسمبلی رفتن؛ اما به شرطیکه که فریمورک، مطمئن شود میتواند تمام فایلهای مرتبط را خیلی سریع و در کمتر از 100 میلیثانیه تامین کند که عموما یک چنین حالتی به معنای از پیش دریافت کردن این فایلها و کش شده بودن آنها در مرورگر است. اما اگر یک چنین تضمینی وجود نداشته باشد، از همان ابتدای کار تصمیم میگیرد که باید کامپوننت را از طریق نگارش Blazor Server آن ارائه دهد، تا آغاز سریعی را سبب شود. در این بین هم در پشت صحنه (یعنی زمانیکه کاربر مشغول به کار با نگارش Blazor Server کامپوننت است)، شروع به دریافت ف
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
قالبهای پیشفرض Blazor 8x، به همراه قسمت بازنویسی شدهی ASP.NET Core Identity برای Blazor هم هستند که در این قسمت به بررسی نحوهی عملکرد آنها میپردازیم.
معرفی قالبهای جدید شروع پروژههای Blazor در دات نت 8 به همراه قسمت Identity
در قسمت دوم این سری، با قالبهای جدید شروع پروژههای Blazor 8x آشنا شدیم و هدف ما در آنجا بیشتر بررسی حالتهای مختلف رندر Blazor در دات نت 8 بود. تمام این قالبها به همراه یک سوئیچ دیگر هم به نام auth-- هستند که توسط آن و با مقدار دهی Individual که به معنای Individual accounts است، میتوان کدهای پیشفرض و ابتدایی Identity UI جدید را نیز به قالب در حال ایجاد، به صورت خودکار اضافه کرد؛ یعنی به صورت زیر:
اجرای قسمتهای تعاملی برنامه بر روی سرور؛ به همراه کدهای Identity: dotnet new blazor --interactivity Server --auth Individual
اجرای قسمتهای تعاملی برنامه در مرورگر، توسط فناوری وباسمبلی؛ به همراه کدهای Identity: dotnet new blazor --interactivity WebAssembly --auth Individual
برای اجرای قسمتهای تعاملی برنامه، ابتدا حالت Server فعالسازی میشود تا فایلهای WebAssembly دریافت شوند، سپس فقط از WebAssembly استفاده میکند؛ به همراه کدهای Identity: dotnet new blazor --interactivity Auto --auth Individual
فقط از حالت SSR یا همان static server rendering استفاده میشود (این نوع برنامهها تعاملی نیستند)؛ به همراه کدهای Identity: dotnet new blazor --interactivity None --auth Individual
و یا توسط پرچم all-interactive--، که interactive render mode را در ریشهی برنامه قرار میدهد؛ به همراه کدهای I
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
برچسب: نویسنده: دانلودی تاريخ: جمعه 26 آبان 1402 ساعت: 20:49
1513 بازدید
دسته بندی: IELTS Assessed Samples - Writing منتشر شده در 15 آبان 1402 زمان مطالعه: 1 دقیقه 0 نظر
به روز شده در 15 آبان 1402
نمونه تصحیح شده رایتینگ آیلتس تسک دو توسط آکادمی اکسیر – شماره 42 – نمره 6.5
داوطلب گرامی، زبان آموز اکسیری عزیز سلام،در زیر یک نمونه رایتینگ تصحیح شده به همراه جزئیات برای شما گذاشته شده است. حتما به نمره تک تک معیارها مثل LR و GRA دقت کنید.اگر نمیدانید بر چه اساسی رایتینگ آیلتس تصحیح میشود، می توانید لینک زیر را ببینید.
نمونه رایتینگ نوشته شده توسط متقاضیان اکسیر آیلتس
جدول نمرات این نمونه تصحیح شده رایتینگ آیلتس توسط آکادمی اکسیر
توضیحات شفاهی و تحلیل کامل نمونه تصحیح شده رایتینگ آیلتس توسط آکادمی اکسیر
https://dl.exiracademy.org/WebsiteMaterial/Writing%20Sample%20Audio%20Files/WT2/%D8%B1%D8%A7%DB%8C%D8%AA%DB%8C%D9%86%DA%AF%2B%D8%AA%D8%B3%DA%A9%2B%DB%B2%2B%D8%A7%DA%A9%D8%B3%DB%8C%D8%B1%2B%D8%A2%DB%8C%D9%84%D8%AA%D8%B3%2B%D9%84%2B%D8%B4%2B%DB%B5.ogg
لینک های مفید:
نمونه های تصحیح شده رایتینگ آیلتس
نمونه های تصحیح شده اسپیکینگ آیلتس
آموزش رایگان آیلتس – Lea IELTS for Free
پنالتی های رایتینگ آیلتس
شرکت در ماک آیلتس اکسیر
شرکت در کلاس های گروهی اکسیر آیلتس
شرکت در دوره آفلاین اکسیر آیلتس
تهیه پکیج جامع اکسیر آیلتس
شرکت در تعیین سطح زبان عمومی
درخواست مشاوره آیلتس
تماس با اکسیر
4.7/
برچسب: نویسنده: دانلودی تاريخ: سه شنبه 23 آبان 1402 ساعت: 17:57
1493 بازدید
دسته بندی: IELTS Assessed Samples - Writing منتشر شده در 7 آبان 1402 زمان مطالعه: 1 دقیقه 0 نظر
به روز شده در 7 آبان 1402
نمونه تصحیح شده رایتینگ آیلتس تسک دو توسط آکادمی اکسیر – شماره 41 – نمره 6.5
داوطلب گرامی، زبان آموز اکسیری عزیز سلام،در زیر یک نمونه رایتینگ تصحیح شده به همراه جزئیات برای شما گذاشته شده است. حتما به نمره تک تک معیارها مثل LR و GRA دقت کنید.اگر نمیدانید بر چه اساسی رایتینگ آیلتس تصحیح میشود، می توانید لینک زیر را ببینید.
نمونه رایتینگ نوشته شده توسط متقاضیان اکسیر آیلتس
جدول نمرات این نمونه تصحیح شده رایتینگ آیلتس توسط آکادمی اکسیر
توضیحات شفاهی و تحلیل کامل نمونه تصحیح شده رایتینگ آیلتس توسط آکادمی اکسیر
https://dl.exiracademy.org/WebsiteMaterial/Writing%20Sample%20Audio%20Files/WT2/%D8%B1%D8%A7%DB%8C%D8%AA%DB%8C%D9%86%DA%AF%2B%D8%AA%D8%B3%DA%A9%2B%DB%B2%2B%D8%A7%DA%A9%D8%B3%DB%8C%D8%B1%2B%D8%A2%DB%8C%D9%84%D8%AA%D8%B3%2B%D8%AF%2B%D8%A7%2B%DB%B5.ogg
لینک های مفید:
نمونه های تصحیح شده رایتینگ آیلتس
نمونه های تصحیح شده اسپیکینگ آیلتس
آموزش رایگان آیلتس – Lea IELTS for Free
پنالتی های رایتینگ آیلتس
شرکت در ماک آیلتس اکسیر
شرکت در کلاس های گروهی اکسیر آیلتس
شرکت در دوره آفلاین اکسیر آیلتس
تهیه پکیج جامع اکسیر آیلتس
شرکت در تعیین سطح زبان عمومی
درخواست مشاوره آیلتس
تماس با اکسیر
4.7/5 -
برچسب: نویسنده: دانلودی تاريخ: يکشنبه 14 آبان 1402 ساعت: 20:48
رنگ کردن مو بدون اکسیدان در خانه | با جایگزینهایی مناسب برای اکسیدان آشنا شوید
تغییر رنگ موها فرایندی طولانی و هزینهبر است. به همین دلیل بسیاری از خانمها این کار را در خانه انجام میدهند. از سوی دیگر ترکیبات شیمیایی بهکاررفته در اکسیدانها، حساسیتهایی را برای برخی از بانوان ایجاد میکند. رنگ کردن مو بدون اکسیدان در خانه روش مناسبی است که خانمهای حساس به مواد شیمیایی آن را به کار میگیرند. بااینحال عدم آشنایی با روش اعمال این رنگها و ماندگاری کم رنگهای بدون اکسیدان، چالشهای پیش روی خانمها برای رنگ کردن مو در خانه هستند.
بدون استفاده از اکسیدان نمیتوان از رنگهای دائمی استفاده کرد
بگذارید در همین ابتدا خیالتان را راحت کنیم. نمیتوان بدون اکسیدان از رنگهای دائمی استفاده کرد. فرمولاسیون این رنگها بهگونهای است که برای ماندگاری بیشتر و باز کردن کوتیکولهای مو، باید با اکسیدان ترکیب شوند. در غیر این صورت بستر مناسب برای ورود رنگدانهها به ساقه مو فراهم نمیشود.
رنگ کردن مو بدون اکسیدان فقط برای رنگآمیزی موقت موها کاربرد دارد و با شستوشو این رنگها از بین میروند. شما میتوانید برای شناخت کامل تکنیکهای رنگ مو، به صفحه آموزش رنگ مو در سایت آموزشگاه آرایشگری دوبانو مراجعه کنید.
جایگزینهایی مناسب برای رنگ کردن مو بدون اکسیدان در خانه
برای فرایند رنگ کردن مو در خانه بدون نیاز به اکسیدان، باید روشهای موقتی را انتخاب کرد. اکسیدان با افزایش سرعت رنگپذیری موها، به ریشه آنها نفوذ میکند. درصورتیکه برای رنگ کردن مو بدون نیاز به اکسیدان باید روشهایی را به کار گرفت که رنگ در سطح تار مو باقی بماند. به همین دلیل از برخی روشها برای این کار استفاده میکنند. در ادامه
برچسب: نویسنده: دانلودی تاريخ: يکشنبه 14 آبان 1402 ساعت: 20:48
تجربه خدمات جابهجایی بار با معتبرترین باربری'>باربری نسیم'>نسیم شهر
نسیم شهر یکی از شهرستانهای حومه تهران است که تراکم بالای جمعیت در آن، تقاضا برای خدمات باربری را افزایش داده است. به همین دلیل مجموعههای باربری متعددی در این منطقه فعالیت میکنند. بسیاری از مستاجران و صاحبان کسبوکارها برای انتقال بارها از این مراکز کمک میگیرند. بااینحال انتخاب بهترین مجموعه از میان تعداد بالایی از باربریها چالشی مهم برای ساکنین این منطقه بهشمار میآید. شما میتوانید با شناخت خدمات باربری مجموعههای باربری در نسیم شهر، بهترین مرکز را انتخاب کنید.
پشتیبانی ارسال بار از نسیم شهر به تمام نقاط کشور
در کنار تراکم بالای جمعیت در نسیم شهر، این شهرستان میزبان تعداد زیادی از کارخانههای صنعتی و شرکتهای تجاری میباشد. همین موضوع تنوع مقاصد باربری در نسیم شهر را افزایش میدهد. مجموعههای باربری نسیم شهر با پشتیبانی از سرویسهایی فعال برای خدماتشان، به سرتاسر استانهای کشور، خدمات حمل بار را ارائه میکنند.
باربریهای نسیم شهر باتکیهبر ناوگان باری مجهز و بهرهمندی از تجارب بالای رانندگان در شناخت جادههای اصلی کشور، فرایند انتقال بار از نسیم شهر به استانهای مختلف را با اطمینان کامل انجام میدهند. بر همین اساس همهروزه محمولههای فراوانی از نسیم شهر به شهرستانها، بازارچههای بزرگ، مناطق صعبالعبور و … ارسال میشود. شما میتوانید برای بهرهمندی از خدمات بهترین باربری نسیم شهر، از خدمات اتوبار بارتو فرشاد ترابر حامد استفاده کنید.
خدمات معتبرترین مجموعه حمل بار نسیم شهر
مهمترین عامل انتخاب بهترین باربری، خدماتی است که مجموعههای حمل بار به مشتریان عرضه میکنند. این خدمات ارتباط مستقیمی با رضایت صاحبان بار دا
برچسب: نویسنده: دانلودی تاريخ: چهارشنبه 3 آبان 1402 ساعت: 18:57